Micron Document
>>Contents

• `F0af`_`[Packet structure`#packet-structure]`_`f
• `F0af`_`[CSS`#css]`_`f

>>Packet structure

A Reticulum packet consists of four fields: a header field, destination field, context field, and data field. There is no source field, as packets do not include sender information.

`t
| Offset | Octet | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| 0 | 0 | AC | HT | CF | PT | DT | DT | PT | PT | Hops | Hops | Hops | Hops | Hops | Hops | Hops | Hops | | | | | | | | | | | | | | | | |
| 4 | 32 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| 8 | 64 | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination | Destination |
| 12 | 96 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| 16 | 128 | | | | | | | | | | | | | | | | | Context | Context | Context | Context | Context | Context | Context | Context | | | | | | | | |
| 20 | 160 | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
| 24 | 192 | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
| ⋮ | ⋮ | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
`t

`!Access Codes: 1 bit`!
Set to `B100`F9d91`f`b if the interface has `F0af`_`[IFAC`:/page/wiki.mu`path=IFAC]`_`f enabled.
`!Header Type: 1 bit`!
Indicates the number of `F0af`_`[destination`:/page/wiki.mu`path=Destination]`_`f hashes included in the destination field. Set to `B100`F9d90`f`b for a single 16-byte hash. Set to `B100`F9d91`f`b for two 16-byte hashes.
`!Context Flag: 1 bit`!
The context flag is used for various types of signaling, depending on packet context.
`!Propagation Type: 1 bit`!
Set to `B100`F9d90`f`b for broadcast propagation. Set to `B100`F9d91`f`b for transport propagation.
`!Destination Type: 2 bits`!
Indicates the `F0af`_`[destination`:/page/wiki.mu`path=Destination]`_`f type. Set to `B100`F9d900`f`b for single destination, `B100`F9d901`f`b for group destination, `B100`F9d910`f`b for plain destination, and `B100`F9d911`f`b for `F0af`_`[link`:/page/wiki.mu`path=Link]`_`f destination.
`!Packet Type: 2 bits`!
Indicates the packet type. Set to `B100`F9d900`f`b for data, `B100`F9d901`f`b for `F0af`_`[announce`:/page/wiki.mu`path=Announce]`_`f, `B100`F9d910`f`b for `F0af`_`[link`:/page/wiki.mu`path=Link]`_`f request, and `B100`F9d911`f`b for proof.
`!Hops: 8 bits`!
Set to `B100`F9d90`f`b when sent and incremented whenever the packet is forwarded by a `F0af`_`[transport node`:/page/wiki.mu`path=Transport_node]`_`f. When a transport node receives a packet with the hops field greater than or equal to the node's maximum hop count, the packet is not forwarded. The default maximum hop count is currently 128.
`!Destination: 16 bytes (128 bits)`!
The `F0af`_`[destination`:/page/wiki.mu`path=Destination]`_`f hash of the intended recipient. If the header type is set to `B100`F9d91`f`b, there are two 16-byte destination fields.
`!Context: 8 bits`!
Used to determine packet context.
`!Data: Variable`!
The payload of the packet.

>>CSS

The following CSS should make the header diagram usable by adding vertical lines, reducing the padding, and changing some colors. This is a work in progress.

`B100`F9d9.wikitable > caption,`f`b
`B100`F9d9.wikitable > tbody > tr > th {`f`b
`B100`F9d9 background-color:var(--color-surface-1);`f`b
`B100`F9d9 text-align:center`f`b
`B100`F9d9}`f`b
`B100`F9d9.wikitable > caption,`f`b
`B100`F9d9.wikitable > tbody > tr > * {`f`b
`B100`F9d9 padding:0.4em 0.5em`f`b
`B100`F9d9}`f`b
`B100`F9d9.wikitable > tbody > tr > * {`f`b
`B100`F9d9 border:1px solid var(--border-color-base)`f`b
`B100`F9d9}`f`b